package com.mryang.hds.service;

import com.mryang.hds.entity.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author Genius
 * @version 1.0.0
 * @ClassName ManageService.java
 * @Description TODO
 * @createTime 2023年01月26日 12:53:00
 */

public interface ManageService {

    List<User> getUser(User token );

    List<User> getDocterUser();

    List<User> searchUser(String name, Integer gender, Integer age, String address,User token );

    List<User> searchDocterUser(String name, Integer gender, Integer age, String address);

    List<User> searchPunch(String name, Integer status, Integer punchInfo, String address,User token);

    List<User> getUserNoPunch(User token);

    void delSelect(List<Integer> selectId);

    User getUserById(Integer userId);

    void delUser(Integer userId);

    List<PunchRecord> searchPunchPast(PunchRecord punchRecord,User token);

    List<PunchRecord> getPunchPastById(Integer userId);

    List<PunchRecord> getPunchTable(User token);

    List<PunchInfo> getPunchInfoByIdAndTime(Integer userId, String punchTime);

    List<Need> needAuditing(Integer needState, Integer userId);

    void needAuditingById(Integer needId, Integer needState, String needRemark);

    List<Need> getNeedData(Integer status,Integer userId);

    List<Need> needSearch(String title, Integer status, String start, String end, User tokenuser);

    void needDataStateUpd(Integer needState,Integer needId);

    void needDataUpd(Need need);

    List<List<User>> getUserSelectTags(Integer selectedTagUser, Integer selectedTagDoc);

    void askSub(Notify notify);

    int noPunchUAdd(List<Integer> selectId,Integer loginId);

    void editPunchInfoAll();

    void deletePunchInfoAll();
}
